﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;

namespace SEO.Spider
{
    /// <summary>
    /// 版权所有: 版权所有(C) 2011，Adin Lee
    /// 内容摘要: IP地址接口
    /// 完成日期：2011年6月5日
    /// 版    本：V1.0 
    /// 作    者：Adin
    /// </summary>
    public class IPHelper
    {
        /// <summary>
        /// 根据网址获取服务器所在IP地址
        /// </summary>
        /// <param name="strWebUrl">网址</param>
        /// <returns>返回服务器IP</returns>
        public static string GetServerIP(string strWebUrl)
        {
            string strReturnValue = "";

            try
            {
                strWebUrl = "http://www.ip138.com/ips.asp?ip=" + strWebUrl + "&action=2";
                SEO.Utility.WebClient wc = new SEO.Utility.WebClient();
                wc.Encoding = System.Text.Encoding.GetEncoding("gb2312");
                wc.OpenRead(strWebUrl);
                string strGetHtmlCode = wc.RespHtml;

                Regex rx = new Regex("<h1>(?<content>[\\s\\S]*)?</h1>", RegexOptions.Singleline);
                string strGetResult = rx.Match(strGetHtmlCode).Result("${content}");

                Regex rxIP = new Regex(">>(?<content>[\\s\\S]*)?</font>", RegexOptions.Singleline);
                strGetResult = rxIP.Match(strGetResult).Result("${content}");

                strGetResult = SEO.Utility.StringHelper.CleanHtml(strGetResult);
                strGetResult = strGetResult.Replace(" ", "");

                strReturnValue = strGetResult.Trim();
            }
            catch (Exception ex)
            {
                SEO.Utility.Log.SaveErrorLog("根据网址获取域名Whois信息 -> " + ex.Message);
            }

            return strReturnValue;
        }
    }
}
